package com.lock.content;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

// Result.java
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result<T> {
    private Integer code;     // 状态码
    private String message;   // 消息
    private T data;           // 数据

    // 成功静态方法（带数据）
    public static <T> Result<T> success(T data) {
        return new Result<>(200, "操作成功", data);
    }

    // 成功静态方法（无数据）
    public static Result<?> success() {
        return new Result<>(200, "操作成功", null);
    }

    // 失败静态方法（带消息）
    public static Result<?> fail(String message) {
        return new Result<>(500, message, null);
    }

    // 失败静态方法（带状态码和消息）
    public static Result<?> fail(Integer code, String message) {
        return new Result<>(code, message, null);
    }
}
